Logic Programming with Pseudo-Boolean Constraints
نویسنده
چکیده
Boolean constraints play an important role in various constraint logic programming languages. In this paper we consider pseudo-Boolean constraints, that is equations and inequalities between pseudo-Boolean functions. A pseudoBoolean function is an integer-valued function of Boolean variables and thus a generalization of a Boolean function. Pseudo-Boolean functions occur in many application areas, in particular in problems from operations research. An interesting connection to logic is that inference problems in propositional logic can be translated into linear pseudo-Boolean optimization problems. More generally, pseudo-Boolean constraints can be seen as a particular way of combining two of the most important domains in constraint logic programming: arithmetic and Boolean algebra. In this paper we define a new constraint logic programming language CLP(PB) for logic progamming with pseudo-Boolean constraints. The language is an instance of the general constraint logic programming language scheme CLP(X) and inherits all the typical semantic properties. We show that any pseudo-Boolean constraint has a most general solution and give variable elimination algorithms for pseudo-Boolean unification and unconstrained pseudo-Boolean optimization. Both algorithms subsume the wellknown Boolean unification algorithm of Büttner and Simonis.
منابع مشابه
Pseudo - Boolean and Finite Domain Constraint Programming : A Case
Pseudo-Boolean constraints are a special form of nite domain constraints where all variables are deened over the domain f0; 1g. To solve pseudo-Boolean constraints, specialized constraint solving algorithms have been developed. In this paper, we compare nite domain and pseudo-Boolean constraint techniques on a classical application of nite domain constraint programming, the warehouse location p...
متن کاملLoop Formulas for Logic Programs with Arbitrary Constraint Atoms
We formulate loop formulas for logic programs with arbitrary constraint atoms, for the semantics based on conditional satisfaction. This provides a method for answer set computation by computing models of completion. One particular attractive candidate for the latter task is pseudo-boolean constraint solvers. To strengthen this connection, we show examples of compact encoding of aggregates and ...
متن کاملExploiting Constraints
Constraints can be exploited in paradigms outside of constraint programming. In particular, powerful global constraints can often be decomposed into small primitives and these decompositions can simulate complex propagation algorithms that perform sophisticated inference about a problem. We illustrate this approach with examples of exploiting constraints in propositional satisfiability (SAT), p...
متن کاملCutting Planes in Constraint Logic Programming
In this paper, we show how recently developed techniques from combinatorial optimization can be embedded into constraint logic programming. We develop a constraint solver for the constraint logic programming language CLP(PB) for logic programming with pseudo-Boolean constraints. Our approach is based on the generation of polyhedral cutting planes and the concept of branch-and-cut. In the case o...
متن کاملLogic Programs with Abstract Constraint Atoms
We propose and study extensions of logic programming with constraints represented as generalized atoms of the form C(X), where X is a finite set of atoms and C is an abstract constraint (formally, a collection of sets of atoms). Atoms C(X) are satisfied by an interpretation (set of atoms) M , if M ∩ X ∈ C. We focus here on monotone constraints, that is, those collections C that are closed under...
متن کامل